#coding:utf8

# 需求1：
# 从SogouQ.txt导入数据后，根据搜索关键词进行分词，并打印出热点词Top5和搜索次数
import jieba
from defs import cut_key_word
from pyspark import SparkContext,SparkConf

if __name__ == '__main__':
    conf = SparkConf().setAppName('test_persit')
    sc = SparkContext(conf=conf)

    rdd = sc.textFile('hdfs://node1:8020/input/SogouQ.txt')
    # 分词后的RDD
    cutRdd = contentRdd = rdd.map(lambda x: x.split("\t")).map(lambda x: x[2]).flatMap(cut_key_word)
    # 对分词后的RDD进行聚合并统计TOP5的结果
    result = cutRdd.map(lambda x: (x, 1)).reduceByKey(lambda x, y: x + y).sortBy(lambda k: k[1], ascending=False,numPartitions=1).take(5)
    print('需求1的结果：',result)

